Most electronic mail (hereinafter “email”) systems employ only a single email server. For example, the computing resources available at only a single personal computer or other such machine (hereinafter “machine”) might be utilized to provide electronic mail sending and receiving capabilities. Unfortunately, such a single-machine or single-server email system can easily get bogged down and become overloaded.
For example, an email system acting as relay between a source email server and a destination email server may contain a single machine that serves as receiving email server for receiving incoming email and that serves as sending email server for sending outgoing email, with little more than a “straight pipe” being present between the receiving email server and the sending email server specifically, the output of the receiving email server is essentially the input of the sending email server.
A somewhat more advanced email system may employ a machine dedicated for use as a receiving email server and another machine dedicated for use as a sending email server. Here again it is common for the two machines to be connected in straight-pipe fashion such that the output of the receiving email server is essentially the input of the sending email server.
In a more advanced email system, while arrays of multiple receiving email servers and/or multiple sending email servers may be employed to increase capacity, where output from the receiving email server array is more or less dumped directly into the input of the sending email server array, the full capacity of the system will often go unutilized. This is all the more true in light of the various inefficiencies that can result from random, disorganized, or haphazard attempts at delivering email messages to a wide variety of destination email servers. Furthermore, many of these destination email servers will likely be unavailable at any given time, which fact will only become known in many cases after much time has been spent waiting for a server to timeout. Moreover, this problem will be further compounded if repeated delivery attempts are made to the same unavailable destination email server, for example. Inefficiencies such as the foregoing may arise from inability to make coordinated use of distributed or redundant resources.
There is therefore an unaddressed need in the industry for an email system capable of efficient use of multiple machines and/or multiple servers to provide increased capacity and/or throughput in sending and/or receiving of email.